Zephyr IDE 工具

Zephyr 为众多 IDE 提供了辅助工具用于开发,其中在 Visual Studio Code 中提供了 Zephyr IDE Extension 作为拓展提供项目构建、调试、下载、分析等众多功能。

安装与配置

在 VS Code 左栏“插件”界面搜索 Zephyr IDE Extension Pack 并安装。其由 mylonics 发行。安装后,左栏将出现“Zephyr”图标,如下图所示:

alt text

点击其会出现五个栏目:

  • Zephyr IDE and Workspace Setup
  • West Workspaces
  • Projects
  • Project Config
  • Active project

首先点击 Zephyr IDE and Workspace Setup 栏目中的 Zephyr IDE Configuration,进入 Host Tools、Workspace、SDK 的配置。理论上,如果按照笔者的文档或者官方文档进行正确的配置并打开 zephyrproject 根目录作为 VS Code 工作目录,这三者应该是配置好的。

此时,在 West Workspaces 中,应该会出现 zephyrproject 行,指示安装完成。

配置项目

在 Projects 栏点击右侧第二个按钮 Create Project from Template,可以选择某个模板作为新建项目,如图所示:

cpft

搜索并选择 Blinky Sample,新建项目。其会在左侧 Projects 栏显示,右侧会自动打开 main.c 。其中有调用 led0 闪烁的代码。点击左侧项目 blinky 右侧的 + 号,新建 Build。此时可以选择目标开发板,用于进行针对平台的构建。此处选择 nucleo_f411re。 继续点击 Build 右侧的 + 号,新建 Runner。此时可以选择烧录设备,用以向设备烧录代码和调试。此处添加 stm32cubeprogrammer,即 ST Link。最后效果如图所示。

xiaoguo

鼠标悬浮在 Build 上会显示构建、从头构建、Menu Config 设置等,鼠标悬浮在 Runner 上会显示 Flash 烧录功能。

每个项目可以新建多个 Build 用以在多个平台进行开发,每个 Build 可以选择多个不同的烧录器和调试探针用以进行烧录调试工作。

在 Projects 下方有栏目 Project Config,其显示了需要用到的多种配置文件的直接跳转入口,如图所示。

alt text

在 blinky 下,其中 main 为 main.c 文件,即业务逻辑的源文件;CMake 为该项目的 CMakeLists.txt,即 CMake 构建配置文件;KConfig 为针对该项目的 KConfig 配置文件, DTC Overlay 为针对原有 board 设备树的覆盖文件,用以进行硬件资源的自定义。

在 build/nucleo_f411re 下,其中 Board 为该开发板(Nucleo_F411RE)的 DTC 设备树文件,Board Dir 为该开发板对应芯片(SoC)的 DTC 设备树文件。其他的 Args 作用不再赘述。

其中不存在的内容可以通过点击右侧的 + 号新建。

在 Active Project 栏目(即打开项目后的 BLINKY:BUILD/NUCLEO_F411RE 栏目),可以进行以下操作:

  • Build Pristine:全量编译
  • Build: 增量编译
  • Flash: 烧录
  • Debug: 调试

其中 Debug 功能需要进行特殊配置。

调试项目

在 VS Code 左侧 Run and Debug 页面,点击 create a launch.json file,新建一个配置文件,在其中点击 Add Configuration,选择 Zephyr IDE: Debug openOCD,新建一个调试配置。

alt text

修改其 configFiles"target/nrf52.cfg""target/stm32f4x.cfg"

此时,launch.json 文件如下所示:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Zephyr IDE: Debug",
            "cwd": "${workspaceFolder}",
            "gdbPath": "${command:zephyr-ide.get-gdb-path}",
            "executable": "${command:zephyr-ide.get-zephyr-elf}",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "configFiles": [
                "interface/stlink.cfg",
                "target/stm32f4x.cfg"
            ],
            "rtos": "Zephyr",
            "searchDir": [],
            "runToEntryPoint": "main",
            "showDevDebugOutput": "none",
            "rttConfig": {
                "enabled": true,
                "address": "auto",
                "rtt_start_retry": 1000,
                "decoders": [
                    {
                        "label": "RTT channel 0",
                        "port": 0,
                        "type": "console"
                    }
                ]
            }
        }
    ]
}

此时,在 Zephyr IDE 可以看到 Debug 行后面出现提示:Zephyr IDE: Debug。点击,进行调试。

debug

在顶栏中的七个按钮分别为重新开始(软件复位)、全速仿真、步入、步进、步出、重新开始、停止。左侧可以观察其变量、CPU 寄存器值,也可以看调用堆栈、断点等。

在底栏的 XRTOS 中,可以启用 RTOS 感知,实时监测线程的内存占用情况,如图所示。

XRTOS

Last modified: 2026-05-24